home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / internet-drafts / draft-ietf-isis-nbma-00.txt < prev    next >
Text File  |  1993-07-08  |  90KB  |  2,301 lines

  1.           ISIS Working Group                Radia Perlman and Chris Gunner
  2.           Internet-draft                           Digital Equipment Corp.
  3.                                                                  June 1993
  4.  
  5.  
  6.  
  7.  
  8.                      Routing over Nonbroadcast Multiaccess Links
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.                                   Table of Contents
  17.  
  18.            1.  Status of this Memo                                    3
  19.            2.  Abstract                                               3
  20.            3.  Conventions                                            4
  21.            4.  Introduction                                           4
  22.            4.1.  CLNP Addresses                                       6
  23.            4.2.  Finding Neighbors across NBMA Links                  6
  24.            4.3.  Types Of Nodes Attached To NBMA                      7
  25.            4.4.  ES-IS For NBMA                                       9
  26.            4.5.  IP Endnodes on NBMA                                 10
  27.            4.6.  IS-IS On NBMA                                       11
  28.            4.6.1.  ISs Finding Each Other                            11
  29.            4.6.2.  Reliable And Efficient LSP Distribution Across NBMA
  30.                12
  31.            4.7.  Packet Encapsulation                                12
  32.            4.8.  Security                                            13
  33.            5.  Configuration Information                             15
  34.            5.1.  Simple-ES, Configured-ES, Passive-IS,
  35.                Configured-Passive-IS                                 15
  36.            5.2.  Dynamically-Learned-ESs                             16
  37.            5.3.  Nonpassive-ISs                                      17
  38.            6.  Databases                                             20
  39.            6.1.  Kept By Simple-ES, Configured-ES, Passive-IS, And
  40.                Configured-Passive-IS                                 20
  41.            6.2.  Kept By Dynamically-Learned ES                      21
  42.            6.3.  Kept By Level 1 ISs                                 22
  43.            6.4.  Kept By Level 2 ISs                                 22
  44.            6.5.  Additional Information Kept By Designated Router    23
  45.            7.  Protocols                                             25
  46.            7.1.  Electing A Designated Router                        25
  47.            7.2.  Finding An IS                                       27
  48.            7.3.  Forwarding Across NBMA                              27
  49.            7.4.  Fragmentation Of The DR-Hello                       28
  50.            7.5.  Maintenance Of The Destination Cache                28
  51.            7.6.  NBMA Configuration Information Included In LSPs     29
  52.            8.  Packet Formats                                        29
  53.            8.1.  Unchanged Packet Formats                            30
  54.  
  55.  
  56.  
  57.  
  58.           Perlman   (Internet-Draft expires end December 1993)    [Page 1]
  59.  
  60.           Internet-Draft       Routing over NBMA Links           June 1993
  61.  
  62.  
  63.  
  64.            8.2.  Initial Fields in all the ES-IS and IS-IS SMDS Packets
  65.                30
  66.            8.3.  SMDS ES Hello                                       32
  67.            8.4.  SMDS DR-to-ES Hello                                 33
  68.            8.5.  SMDS Level 1 IS Hello                               33
  69.            8.6.  SMDS Level 2 IS Hello                               35
  70.            8.7.  Redirect                                            35
  71.            9.  Acronyms used in this Specification                   37
  72.            10.  References                                           37
  73.            11.  Working Group Information                            38
  74.            12.  Authors' Addresses                                   38
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.           Perlman   (Internet-Draft expires end December 1993)    [Page 2]
  118.  
  119.           Internet-Draft       Routing over NBMA Links           June 1993
  120.  
  121.  
  122.  
  123.           1. Status of this Memo
  124.  
  125.           This document is an Internet Draft describing how to run
  126.           connectionless network layer protocols, and in particular,
  127.           Integrated IS-IS, ES-IS, and CLNP over Multiaccess nonbroadcast
  128.           links (NBMAs).  A previous version was originally written for
  129.           SMDS; however, the concepts apply equally well to other
  130.           "clouds", like ISDN, X.25, or even a backbone WAN network
  131.           running some network layer protocol.  This is not directly
  132.           applicable to frame relay, however, since frame relay does not
  133.           have true addressing.  Frame relay is really just a collection
  134.           of point to point links.  Although the previous document was
  135.           originally written for connectionless OSI network layer
  136.           protocols (CLNP, ES-IS, and IS-IS), the concepts (other than use
  137.           of embedded DTE addresses) apply to other connectionless network
  138.           layer protocols (for instance, IP) as well.  This document is
  139.           significantly revised from the original to be more general, both
  140.           in terms of type of NBMA link and in terms of type of network
  141.           layer running over it.
  142.  
  143.           Internet Drafts are working documents of the Internet
  144.           Engineering Task Force (IETF), its Areas, and its Working
  145.           Groups. Note that other groups may also distribute working
  146.           documents as Internet Drafts.
  147.  
  148.           Internet Drafts are draft documents valid for a maximum of six
  149.           months. This Internet draft expires at the end of December 1993.
  150.           Internet drafts may be updated, replaced, or obsoleted by other
  151.           documents at any time. It is not appropriate to use Internet
  152.           Drafts as reference material or to cite them other than as a
  153.           "working draft" or "work in progress".
  154.  
  155.           Please check the I-D abstract listing contained in each Internet
  156.           Draft directory to learn the current status of this or any other
  157.           Internet Draft.
  158.  
  159.           This is a draft document of the ISIS working group.
  160.  
  161.           Distribution of this memo is unlimited. Please send comments to
  162.           the ISIS working group:
  163.  
  164.                   isis@merit.edu
  165.  
  166.  
  167.           2. Abstract
  168.  
  169.           This document assumes basic familiarity with CLNP, ES-IS, IS-IS,
  170.           ARP, and IP.  The design in this document attempts to minimize
  171.           routing control traffic and manual configuration. The issues
  172.           involve judicious use of CLNP addressing whenever possible,
  173.  
  174.  
  175.  
  176.           Perlman   (Internet-Draft expires end December 1993)    [Page 3]
  177.  
  178.           Internet-Draft       Routing over NBMA Links           June 1993
  179.  
  180.  
  181.  
  182.           protocol differentiation (also sometimes called encapsulation)
  183.           for coexistence with other protocols running over the NBMA,
  184.           enabling ESs to find an active IS, enabling ISs to find each
  185.           other, optimizing routes across NBMA (eliminating double-hopping
  186.           across NBMA), and efficient and reliable distribution of LSPs
  187.           (link state packets) across NBMA.
  188.  
  189.  
  190.           3. Conventions
  191.  
  192.           The following language conventions are used in the items of
  193.           specification in this document:
  194.  
  195.           1.  MUST, SHALL, or MANDATORY -- the item is an absolute
  196.               requirement
  197.  
  198.           2.  SHOULD or RECOMMENDED -- the item should generally be
  199.               followed for all but exceptional circumstances
  200.  
  201.           3.  MAY or OPTIONAL -- the item is truly optional and may be
  202.               followed or ignored according to the needs of the
  203.               implementor.
  204.  
  205.  
  206.           4. Introduction
  207.  
  208.           IS-IS has been designed to operate over point to point links,
  209.           and over LANs. NMBA links such as SMDS and X.25 do not fit
  210.           either model. An NBMA link is not like a point to point link
  211.           because it is multiaccess and requires a data link destination
  212.           address. Note that in this document we refer to the address on
  213.           the NBMA link as a "data link address" -- providers of the NBMA
  214.           might very well refer to the address in the NBMA cloud as a
  215.           "network layer address".  From the point of view of CLNP or IP
  216.           which is running on top of the NBMA, however, the NBMA is a data
  217.           link.
  218.  
  219.           An NBMA link is not like a LAN because it is a tariffed service,
  220.           costs across it cannot be assumed to be the same for all
  221.           destinations, bandwidth use should be more conservative than on
  222.           a LAN, and multicast, if provided at all, does not serve the
  223.           same function as multicast on a LAN (for instance, in SMDS group
  224.           address recipients have to be preconfigured, and there is a
  225.           limit to the number of recipients of any SMDS group address).
  226.  
  227.           On NMBA the NBMA individual address of a station is determined
  228.           at subscription time by the service provider. Most NMBAs do not
  229.           provide multicast at all.  SMDS does provide something which
  230.           looks deceptively similar to multicast and is called "group
  231.           addressing".  A group address is assigned by the SMDS service
  232.  
  233.  
  234.  
  235.           Perlman   (Internet-Draft expires end December 1993)    [Page 4]
  236.  
  237.           Internet-Draft       Routing over NBMA Links           June 1993
  238.  
  239.  
  240.  
  241.           provider (in contrast to an 802 LAN, where the multicast
  242.           addresses can be known beforehand and specified in the spec),
  243.           and the list of the individual members of the group has to be
  244.           configured by the service provider (in contrast to an 802 LAN,
  245.           where any node can listen to any address). The membership of an
  246.           SMDS group cannot change dynamically.
  247.  
  248.           There are three basic pieces to the Network Layer which are
  249.           covered by this document. The first is the data packet format
  250.           and the addressing structure (both CLNP and IP are discussed).
  251.           The second piece is the handshaking protocol between neighbor
  252.           ESs and ISs, which enables ISs to keep track of adjacent ESs and
  253.           ESs to keep track of at least one IS. It also enables nodes to
  254.           keep a correspondence between Network Layer addresses and Data
  255.           Link Layer addresses (ARP is discussed, but only to explain why
  256.           it is inappropriate in the NBMA case and how to handle IP
  257.           without it). The third piece is IS-IS, which is the intra-domain
  258.           routing protocol.
  259.  
  260.           The original document specified exact packet formats for use
  261.           over SMDS.  This document is more conceptual, and will not
  262.           specify packets exactly (like giving packet type numbers).
  263.           Instead it will specify what needs to be contained in the
  264.           packets.
  265.  
  266.           Variable length fields in packets are encoded as "options", with
  267.           an octet that specifies the option type, a length field
  268.           specifying the length of the data associated with the option,
  269.           and a field with the data associated with the option. Option
  270.           types with associated data fields that are likely to be very
  271.           long are specified with a 2 octet length field. Option types
  272.           with data which would not exceed 256 octets are specified with a
  273.           1 octet length field.
  274.  
  275.           This specification only relates to ISs (routers) and ESs
  276.           (endnodes) directly connected to NBMAs. No changes are required
  277.           to ISs and ESs not directly connected to an NBMA.
  278.  
  279.           Note that the packets defined in this document never propagate
  280.           beyond the NBMA. They are used for negotiating with neighbors
  281.           across the NBMA. Packets that do get forwarded (for instance,
  282.           link state packets, data packets) are not affected by this
  283.           document, other than the definition of how they are encapsulated
  284.           with an NBMA header while traversing NBMA. The packets in this
  285.           document have the same packet types and basic function as
  286.           packets defined in ES-IS and IS-IS for neighbor handshaking.
  287.           However, since neighbor handshaking protocols are technology
  288.           dependent, the encoding of the packets for NBMA are different
  289.           from the packets defined for 802 LANs or point to point links.
  290.  
  291.  
  292.  
  293.  
  294.           Perlman   (Internet-Draft expires end December 1993)    [Page 5]
  295.  
  296.           Internet-Draft       Routing over NBMA Links           June 1993
  297.  
  298.  
  299.  
  300.           4.1. CLNP Addresses
  301.  
  302.           There are certain ways in which CLNP addresses can be used that
  303.           are particularly convenient for NBMA links. To understand this,
  304.           it is necessary to understand a little about CLNP addresses.
  305.  
  306.           A CLNP address consists of:
  307.  
  308.           +--------------------+----------+--------------------+-----+
  309.           |       IDP          | LOC-AREA |     ID             | SEL |
  310.           +--------------------+----------+--------------------+-----+
  311.  
  312.           NBMA addresses are usually X.121 or E.164.  There is a mapping
  313.           between most NBMA addresses and IDPs.  For example, SMDS
  314.           addresses are E.164 addresses. The first octet of the IDP
  315.           (called the "AFI") in a CLNP address specifies the type of
  316.           address encoded in the IDP. One type is an E.164 address.
  317.           Therefore it is possible to learn, from the initial portion of
  318.           the IDP, that an address is an E.164 address, and examination
  319.           further into the IDP can yield information such as country code,
  320.           area code, exchange, and finally the entire E.164 address.  For
  321.           another example, X.25 uses X.121 addresses.  There is a value of
  322.           the AFI that specifies X.121.  The first part of the X.121
  323.           address is called the "DNIC" and specifies which X.25 network is
  324.           being used, and the rest of the address is an address specific
  325.           to that X.25 network.
  326.  
  327.           Level 2 IS-IS routing of CLNP routes to CLNP address prefixes.
  328.           Therefore an IS attached to SMDS can be configured to advertise
  329.           that it can reach any E.164 address, or be more specific about
  330.           addresses by including a longer address prefix.  An IS attached
  331.           to a particular X.25 network can be configured to advertise that
  332.           it can reach any address on that particular X.25 network.
  333.  
  334.           (Note: it is unfortunate that E.164 addresses do not contain the
  335.           equivalent of the DNIC to say which network the address resides
  336.           on.  It would be nice to add to CLNP a new AFI which would mean
  337.           "E.164 address plus a "which network" field".  The structure of
  338.           such an IDP would be new-AFI.whichnet.E.164.  The "which net"
  339.           field should be 2 octets and globally administered by some
  340.           organization.  Without that things will still work but routing
  341.           might not be optimal and less address aggregation might be
  342.           possible.)
  343.  
  344.  
  345.           4.2. Finding Neighbors across NBMA Links
  346.  
  347.           There are three basic methods for reaching node B across NBMA:
  348.  
  349.           1.  Node B's NBMA address is embedded in its network layer
  350.  
  351.  
  352.  
  353.           Perlman   (Internet-Draft expires end December 1993)    [Page 6]
  354.  
  355.           Internet-Draft       Routing over NBMA Links           June 1993
  356.  
  357.  
  358.  
  359.               address
  360.  
  361.           2.  Node B's NBMA and network layer address have been
  362.               configured, either directly into the node trying to reach
  363.               node B, or into a router that will assist a node trying to
  364.               reach B by issuing a Redirect or some similar mechanism.
  365.  
  366.           3.  Node B's NBMA address has been manually configured into the
  367.               node trying to reach node B (or into a router that will
  368.               assist as in method 2), and a routing protocol is carried
  369.               out in which node B's network layer address is divulged.
  370.  
  371.           Solution 1 requires the least amount of configuration and
  372.           protocol overhead.  Therefore, it is recommended but not
  373.           required that the nodes in a CLNP net attached to NBMA via IS R
  374.           use R's NBMA address in their IDP. If a destination's IDP
  375.           contains the NBMA address to which packets for that destination
  376.           are to be forwarded, communication to that destination is
  377.           possible without forwarding by an IS, manual configuration, or
  378.           previous routing protocol exchange. If CLNP addresses are not
  379.           assigned this way communication is still possible via one of the
  380.           other two methods.  It is possible to use all three methods in a
  381.           particular network.  Configuration and protocol overhead savings
  382.           is directly proportional to the number of nodes in which
  383.           embedded NBMA addresses can be used.
  384.  
  385.           NBMA addresses cannot be embedded in IPv4 addresses (which in
  386.           this document we'll simply refer to as "IP" addresses.  If IP
  387.           addressing is used, then some combination of methods 2 and 3
  388.           must be employed.
  389.  
  390.  
  391.           4.3. Types Of Nodes Attached To NBMA
  392.  
  393.           There are the following types of ESs connected to NBMA:
  394.  
  395.           1.  "Simple-ES": A simple ES is one that has its NBMA address
  396.               embedded in its network layer address.  ISs do not have to
  397.               keep track of such an ES, since it will automatically be
  398.               reachable. Although a simple-ES need not be continually in
  399.               contact with ISs (as would be the case if the ES needed to
  400.               keep the network informed of its existence), such an ES
  401.               does need to be able to find an IS quickly in the event
  402.               that it needs to transmit a packet to an IDP that is not
  403.               obviously reachable on the NBMA net. The message that it
  404.               sends is an ES Hello. The act of sending the message is
  405.               known as "pinging".
  406.  
  407.               Again note that NBMA addresses cannot be embedded in IP
  408.               addresses, so no IP nodes can be of type Simple-ES
  409.  
  410.  
  411.  
  412.           Perlman   (Internet-Draft expires end December 1993)    [Page 7]
  413.  
  414.           Internet-Draft       Routing over NBMA Links           June 1993
  415.  
  416.  
  417.  
  418.               Also note that an entire network of nodes might be
  419.               connected via a router, R, to NBMA.  If all of the nodes
  420.               reachable from R have R's NBMA address embedded in their
  421.               network layer address, then all the node in that portion of
  422.               the network (including R) are Simple-ESs from the point of
  423.               view of that NBMA.
  424.  
  425.           2.  "Configured-ES": A Configured-ES is an ES that does not
  426.               have its NBMA address in its network layer address, but
  427.               whose network/NBMA address pair has been configured into
  428.               all the nonpassive ISs (see types of ISs) on NBMA.  A
  429.               configured-ES does not need to keep in contact with ISs,
  430.               since all the ISs have been manually configured to know how
  431.               to reach the ES. However, as with a Simple-ES, a
  432.               Configured-ES does need to be able to find an IS quickly in
  433.               the event that it needs to transmit a packet to something
  434.               other than a Simple-ES.
  435.  
  436.           3.  "Dynamically-Learned ES": A Dynamically-Learned-ES is an ES
  437.               that does not fit either category 1 or 2.  Therefore, it
  438.               needs to find and keep in constant contact with the DR
  439.               (Designated Router), in order for the DR to know about the
  440.               ES's network layer and NBMA address, and for the DR to
  441.               inform the other routers about that ES.  It is highly
  442.               desirable to avoid the necessity for having any
  443.               Dynamically-Learned-ESs since keeping the network informed
  444.               about these ESs consumes bandwidth.
  445.  
  446.           There are the following types of ISs:
  447.  
  448.           1.  "Passive-IS": A Passive-IS, R, attaches a portion of the
  449.               network to NBMA, and the NBMA address of R is embedded in
  450.               R's network layer address, and in the network layer address
  451.               of all the nodes attached to the NBMA through R.  From the
  452.               point of view of all the other nodes on NBMA, all the nodes
  453.               attachable through R (including R) are Simple-ESs.
  454.  
  455.               As with Simple-ESs, IP addressing does not allow the use of
  456.               Passive-ISs.  Passive-ISs are only possible with CLNP
  457.               addresses.
  458.  
  459.           2.  "Configured-Passive-IS": This is analogous to a
  460.               Configured-ES.  A Configured-Passive-IS is an IS R that,
  461.               although it attaches nodes to NBMA that do not have R's
  462.               NBMA address embedded in their network layer address, can
  463.               still behave like a Passive-IS because all Nonpassive-ISs
  464.               on NBMA have been configured with the address prefixes
  465.               reachable through R.
  466.  
  467.           3.  "Nonpassive-IS": An IS that runs IS-IS. It is possible for
  468.  
  469.  
  470.  
  471.           Perlman   (Internet-Draft expires end December 1993)    [Page 8]
  472.  
  473.           Internet-Draft       Routing over NBMA Links           June 1993
  474.  
  475.  
  476.  
  477.               an IS to be configured to be a Nonpassive-IS even if all
  478.               the nodes it can reach off NBMA have the appropriate
  479.               network layer address. In most cases, however, this would
  480.               be undesirable, since running IS-IS consumes bandwidth. In
  481.               general, the Nonpassive-ISs will be those that attach a
  482.               portion of the CLNP network to the NBMA that is too
  483.               topologically complex to exploit embedded NBMA addresses,
  484.               or attaches a portion of the IP network with a large and
  485.               dynamically changing set of IP addresses, so that
  486.               configuration is less desirable than protocol exchange.
  487.  
  488.  
  489.           4.4. ES-IS For NBMA
  490.  
  491.           Note that only CLNP uses ES-IS.  On 802 LANs, the equivalent IP
  492.           protocol is ARP.  We'll discuss IP endnodes on NBMA in the next
  493.           section.
  494.  
  495.           ES-IS for NBMA is functionally similar to ES-IS for 802 LANs.
  496.           It is necessary for the ESs to find an IS and for the ISs to
  497.           find all the Dynamically Discovered ESs. The difference is that
  498.           on 802 LANs, ESs continually multicast to the ISs, and the ISs
  499.           continually multicast to the ESs. This is undesirable on SMDS
  500.           since it consumes too much bandwidth. Simple-ESs and
  501.           Configured-ESs will not require periodic exchange of Hello
  502.           messages. Instead, a Simple-ES will be configured with a set of
  503.           addresses for reaching ISs, and will send a message requiring a
  504.           reply to that set of addresses when the need for an IS arises.
  505.  
  506.           A Dynamically-Learned-ES will need to periodically send ES
  507.           Hellos to a Nonpassive-IS, since otherwise the network will not
  508.           know how to route to that ES. Since the ES must know whether its
  509.           ES Hello is reaching an IS, the IS will have to periodically
  510.           reassure the ES that it is up and receiving the ES Hellos.
  511.           Therefore ES-IS for a Dynamically-Learned-ES is very similar to
  512.           ES-IS for 802 LANs.  On an 802 LAN, the ES periodically sends ES
  513.           Hellos to the multicast "all-ISs".  In the NBMA case the ES,
  514.           once it finds the DR, only sends a single ES Hello, and it sends
  515.           it to the DR (periodically).  The DR periodically sends IS
  516.           Hellos to that ES. The way the ES finds the DR is that the ES
  517.           initially sends to some configured set of addresses of ISs. An
  518.           IS other than the DR that receives an ES-Hello transmits a Hello
  519.           Redirect, redirecting that ES to the DR's NBMA address. The ES,
  520.           as a result of receiving the Hello Redirect, sends an ES Hello
  521.           to the indicated SMDS address, which will cause the DR to start
  522.           transmitting DR-ES Hellos to the ES. An ES that is receiving
  523.           DR-ES Hellos transmits ES Hellos only to the NBMA address from
  524.           which it is receiving DR-ES Hellos.
  525.  
  526.           In order for a Dynamically-Learned-ES and the DR to find each
  527.  
  528.  
  529.  
  530.           Perlman   (Internet-Draft expires end December 1993)    [Page 9]
  531.  
  532.           Internet-Draft       Routing over NBMA Links           June 1993
  533.  
  534.  
  535.  
  536.           other, at least one of the following must have occurred:
  537.  
  538.           1.  the ES will have been configured with NMBA addresses for
  539.               reaching ISs, and the DR receives messages on one of those
  540.               configured addresses, or an IS which is currently up has
  541.               received the ES's Hello and sent a Hello Redirect
  542.  
  543.           2.  at least one IS that is currently up has been configured
  544.               with an NBMA address which that ES receives.
  545.  
  546.           Both mechanisms are provided to allow the flexibility of
  547.           configuration at the ES, configuration at the ISs, or some
  548.           combination.
  549.  
  550.           Note that the configuration information for Configured-ESs is
  551.           different from the configuration information for
  552.           Dynamically-Learned-ESs. The configuration information at an IS
  553.           for a Dynamically-Learned-ES is an NBMA address that will reach
  554.           that ES. It might be an NBMA group address that will reach that
  555.           ES and many others (SMDS is the only NBMA that provides a form
  556.           of group addresses) or it might be an NBMA individual address.
  557.           Information for Dynamically-Learned-ESs may be configured into
  558.           only a subset of ISs (and possibly none of the ISs provided that
  559.           the Dynamically-Learned-ES has been configured with NBMA
  560.           addresses for reaching ISs). In contrast, information for
  561.           Configured-ESs must be configured into every Nonpassive-IS, and
  562.           it consists of the unicast NBMA address, CLNP address pair for
  563.           that ES.
  564.  
  565.           The other part of ES-IS on 802 LANs involves having ISs sending
  566.           Redirect messages, and ESs keeping a cache of (destination
  567.           Network Layer address, Data Link address to forward to)
  568.           correspondence. That portion of ES-IS will remain the same on
  569.           NBMA, although Redirects will also be sent to ISs, and ISs will
  570.           also keep Redirect caches.
  571.  
  572.  
  573.           4.5. IP Endnodes on NBMA
  574.  
  575.           Note: This is a section that got added hurriedly so review this
  576.           carefully!
  577.  
  578.           On 802 LANs, the equivalent protocol to ES-IS for IP is ARP.
  579.           There have been proposals to use ARP over NBMA by persuading the
  580.           NBMA provider to support a form of multicast (as in SMDS).  The
  581.           proposal in this document does not depend on a multicast
  582.           capability provided by the NBMA, and may result in less traffic
  583.           over the NBMA than an approach based on ARP.  Furthermore, this
  584.           proposal may be more convenient since adding a listener to a
  585.           multicast group in SMDS involves informing the service provider
  586.  
  587.  
  588.  
  589.           Perlman   (Internet-Draft expires end December 1993)   [Page 10]
  590.  
  591.           Internet-Draft       Routing over NBMA Links           June 1993
  592.  
  593.  
  594.  
  595.           and waiting for them to update their group address lists.  With
  596.           this proposal a new node can be added more quickly and
  597.           conveniently.
  598.  
  599.           An IP endnode on NBMA would be configured with a mask of
  600.           255.255.255.255, so that it would assume nothing was a direct
  601.           neighbor on NBMA.  It would find an IS through the method in the
  602.           previous section (i.e., having a set of NBMA addresses for
  603.           reaching routers, and pinging those addresses to find an IS).
  604.  
  605.           Because IP addressing does not allow embedded NBMA addresses,
  606.           there cannot be an IP endnode which is a Simple-ES.  However, it
  607.           is possible to have a Configured-ES, with the same rule -- that
  608.           all the nonpassive ISs have to have been configured with the
  609.           IP/NBMA address of the ES.  Dynamically Discovered IP ESs will
  610.           have to periodically send ES Hellos to the Designated Router.
  611.  
  612.           To prevent all packets from being forwarded across the NBMA to
  613.           the DR, the DR will send Redirects.  The Redirect message
  614.           defined in ICMP does not contain the data link address --
  615.           instead it contains the IP address of, presumably, a different
  616.           router.  The ES receiving a Redirect must then do an ARP to find
  617.           the data link address.  This mechanism will not work on NBMA,
  618.           since it depends on the ability to broadcast an ARP.  Therefore
  619.           the Redirect message sent to an IP node must contain an NBMA
  620.           address.  And a Redirect will not necessarily redirect to
  621.           another router -- it might redirect to the destination ES, if
  622.           that also resides on the NBMA.
  623.  
  624.  
  625.  
  626.           4.6. IS-IS On NBMA
  627.  
  628.           There are two parts of IS-IS relevant to NBMA:
  629.  
  630.           1.  how all the ISs find each other and elect a Designated
  631.               Router
  632.  
  633.           2.  how LSPs are reliably and efficiently broadcast across NBMA
  634.  
  635.  
  636.           4.6.1. ISs Finding Each Other
  637.  
  638.           On 802 LANs, ISs find each other by multicasting IS Hellos to a
  639.           multicast address that does not need to be manually configured
  640.           because it is a predefined number and appears in the
  641.           specification of IS-IS. This is not possible in NBMA. Even in an
  642.           NBMA like SMDS that provides a multicast function, the actual
  643.           SMDS group address is assigned by the SMDS provider.
  644.  
  645.  
  646.  
  647.  
  648.           Perlman   (Internet-Draft expires end December 1993)   [Page 11]
  649.  
  650.           Internet-Draft       Routing over NBMA Links           June 1993
  651.  
  652.  
  653.  
  654.           This design allows but does not require use of an NBMA multicast
  655.           facility, if it exists. We will assume that there are zero or
  656.           more NBMA group addresses assigned for reaching ISs (in SMDS
  657.           there are a limited number of recipients for an SMDS group
  658.           address). Each IS will be configured with a set of addresses for
  659.           reaching other ISs. The configured addresses can be any mixture
  660.           of NBMA individual and NBMA group addresses. By exchanging IS
  661.           Hellos, the ISs eventually decide upon a Designated Router, and
  662.           thereafter all ISs send IS Hellos only to the DR, and the DR
  663.           sends IS Hellos to all the ISs, listing in the IS Hellos all the
  664.           other ISs that are up.
  665.  
  666.  
  667.           4.6.2. Reliable And Efficient LSP Distribution Across NBMA
  668.  
  669.           An NBMA IS that has an LSP to transmit across NBMA unicasts the
  670.           LSP to the DR. The DR transmits it to all the ISs. There are no
  671.           explicit acknowledgments. Instead, the DR periodically transmits
  672.           CSNPs, which summarize the state of the LSP database. If based
  673.           on the CSNP an IS discovers a discrepancy between its own LSP
  674.           database and the DR's, the IS retransmits the missing LSP to the
  675.           DR or requests the DR's LSP, as appropriate.
  676.  
  677.           Note that there are really two models for sending LSPs across
  678.           NBMA.  The one in the previous model is the one used by IS-IS on
  679.           802 LANs.  The other possibility is the model used by OSPF on
  680.           802 LANs.  OSPF has a router send the LSP to the DR, the DR send
  681.           the LSP to all the routers on the LAN, and each router sends an
  682.           acknowledgment to the DR.  The DR is responsible therefore for
  683.           keeping track, per neighbor, of which ones have acknowledged
  684.           which LSPs.  There is an engineering tradeoff between the two
  685.           approaches.  If there are many ISs, and new LSPs arrive
  686.           reasonably frequently, then the CSNP mechanism will be more
  687.           efficient.  If there are few ISs, and LSPs happen very
  688.           infrequently, then the OSPF mechanism will be more efficient.
  689.           However, since LSPs need to be sent periodically, on the order
  690.           of every 1/2 hour, we feel the overhead of the periodic CSNP is
  691.           justified, and the CSNP mechanism is probably simpler and more
  692.           robust since it involves keeping less state.
  693.  
  694.  
  695.           4.7. Packet Encapsulation
  696.  
  697.           There has to be a method of distinguishing packets from
  698.           different protocols.  Some links (such as Ethernet) provide a
  699.           protocol type field, administered by the standards body that
  700.           defines the link.  Unfortunately, many NBMAs (X.25 and SMDS, for
  701.           two examples) do not provide a protocol type field.  There are
  702.           various conventions that could be made:
  703.  
  704.  
  705.  
  706.  
  707.           Perlman   (Internet-Draft expires end December 1993)   [Page 12]
  708.  
  709.           Internet-Draft       Routing over NBMA Links           June 1993
  710.  
  711.  
  712.  
  713.           1.  A protocol type field could be invented as the first part
  714.               of what the NBMA views as the "data" field.  Some authority
  715.               would need to assign protocol type values, or the
  716.               convention could be, for instance, to use Ethernet protocol
  717.               types.  Unfortunately, not all protocols have been assigned
  718.               an Ethernet protocol type.
  719.  
  720.           2.  IEEE believes in SAPs, but actually uses SAPs like protocol
  721.               types.  But given that only 6 bits are assignable, very few
  722.               protocols can have SAP values assigned.  There is one SAP,
  723.               known as the "SNAP SAP" which means "other", and when DSAP
  724.               and SSAP=SNAP, there is a 5 byte protocol type field.  Some
  725.               protocols have 5 byte protocol types.  Protocols that have
  726.               2 byte Ethernet types assigned can use SAP encoding by
  727.               using a 5 byte SAP consisting of the 2 byte Ethernet
  728.               protocol type concatenated with 3 bytes of 0.
  729.  
  730.           The convention is that 802.2 encapsulation is used for protocols
  731.           running on SMDS. OSI CLNS has a SAP assigned, so the data
  732.           portion of the SMDS packet will have the fields:
  733.  
  734.           1.  DSAP (1 octet) = fe hex
  735.  
  736.           2.  SSAP (1 octet) = fe hex
  737.  
  738.           3.  CTL (1 octet) = 3
  739.  
  740.           4.  Start of CLNS packet -- NLPID is the first octet, which is
  741.               81 hex for CLNP, 82 hex for ES-IS and 83 hex for IS-IS.
  742.  
  743.  
  744.           I do not know if IP has a SAP assigned.  If not, it will have
  745.           DSAP=SSAP=aa hex (SNAP SAP), CTL=3, and protocol type = 3 bytes
  746.           of 0 followed by the protocol type assigned to IP for Ethernet.
  747.  
  748.           For NBMA other than SMDS, say X.25, I do know know what
  749.           encapsulation convention has been made.
  750.  
  751.  
  752.           4.8. Security
  753.  
  754.           In order to prevent an unauthorized node on NBMA from sending
  755.           messages claiming to be an IS or ES, it must be possible to
  756.           configure the nodes on NBMA to require a password before
  757.           believing a node to be a valid neighbor. The link to NBMA is
  758.           configured with a password to include in a Hello message or
  759.           Hello Redirect, as well as a set of passwords acceptable in a
  760.           received Hello message or Hello Redirect. If no transmit
  761.           password is configured, then the password option is not included
  762.           in the packet. If no receive passwords are configured, then the
  763.  
  764.  
  765.  
  766.           Perlman   (Internet-Draft expires end December 1993)   [Page 13]
  767.  
  768.           Internet-Draft       Routing over NBMA Links           June 1993
  769.  
  770.  
  771.  
  772.           password option, if it appears in a received Hello or Hello
  773.           Redirect message, is ignored.
  774.  
  775.           An ES is configured with a single transmit password, and a set
  776.           of receive passwords acceptable in a received IS to ES Hello or
  777.           Hello Redirect. A level 1 IS is configured with a transmit
  778.           password to be included in the level 1 IS Hello and Hello
  779.           Redirect and a (potentially different) password to be included
  780.           in the IS to ES Hello and a Hello Redirect sent to an ES. It is
  781.           also configured with a set of receive passwords acceptable in ES
  782.           Hellos, and a set of receive passwords acceptable in level 1 IS
  783.           Hellos and Hello Redirects. A level 2 IS configured to consider
  784.           the NBMA network as level 2 only is configured with a single
  785.           transmit password for level 2 IS Hellos and Hello Redirects, and
  786.           a set of receive passwords acceptable in received level 2 IS
  787.           Hellos and Hello Redirects. A level 2 IS that considers the NBMA
  788.           net as both level 1 and level 2 has the configuration for both
  789.           level 1 and level 2. It is possible for passwords to be the same
  790.           (for instance, the receive and transmit password can be the
  791.           same, and/or the level 1 and level 2 passwords can be the same).
  792.  
  793.           Security can be added to an existing deployed network running on
  794.           NBMA without disruption. For example, assume the level 1 ISs in
  795.           a network are running without any password checking. That means
  796.           that no level 1 ISs are configured with transmit or receive
  797.           passwords. All nodes are therefore transmitting Hellos and Hello
  798.           Redirects without the password option, and are all ignoring the
  799.           password option in received Hellos and Hello Redirects. To add a
  800.           password, the network manager must configure all nodes, one by
  801.           one, to transmit a particular password. Then, after all nodes
  802.           have been configured to transmit the password, configure the
  803.           receive password set in each IS, one by one, to be the specified
  804.           password.
  805.  
  806.           Note that an intruder cannot fool existing nodes to transmit the
  807.           password. An IS sends the password only in a Hello message
  808.           transmitted to an NBMA address it has been configured to
  809.           transmit to, or to an NBMA address it has been informed of by a
  810.           node it already trusts (because of having received a valid
  811.           password from the node in a Hello or a Hello Redirect, or having
  812.           been configured with its address, or because of having been told
  813.           of its NBMA address in a Hello message with a valid password).
  814.  
  815.           An intruder can do some damage by sending data Redirect
  816.           messages. Adding a password to the data Redirect message has
  817.           some problems:
  818.  
  819.           1.  The data message does not contain a password, and it would
  820.               therefore be possible for an intruder to trick an IS into
  821.               sending a Redirect message (containing a password), by
  822.  
  823.  
  824.  
  825.           Perlman   (Internet-Draft expires end December 1993)   [Page 14]
  826.  
  827.           Internet-Draft       Routing over NBMA Links           June 1993
  828.  
  829.  
  830.  
  831.               sending it a data message it will need to forward.
  832.  
  833.           2.  It must be possible to believe a Redirect from an IS in a
  834.               different area. It is not advisable to require nodes to be
  835.               configured with passwords from other areas.
  836.  
  837.           For these reasons, there is no password in the data Redirect.
  838.           Instead the following mechanism is provided. Assume node N
  839.           receives a Redirect from NBMA address A advising N to forward
  840.           traffic for destination D to NBMA address B. N must reject the
  841.           Redirect unless A is the NBMA address to which N would transmit
  842.           packets with destination address D.
  843.  
  844.           As a performance optimization, if N is an ES that has the null
  845.           set as the configured set of receive passwords, or an IS with
  846.           the null set as the configured set of IS receive passwords
  847.           (level 1 or level 2), then N may skip the validity check on the
  848.           data Redirect.
  849.  
  850.  
  851.           5. Configuration Information
  852.  
  853.  
  854.           5.1. Simple-ES, Configured-ES, Passive-IS, Configured-Passive-IS
  855.  
  856.           The following information must be configured into ESs and ISs of
  857.           types Simple-ES, Configured-ES, Passive-IS, or
  858.           Configured-Passive-IS that are attached to NBMA.
  859.  
  860.           1.  Set of NBMA addresses for reaching ISs. Each of these
  861.               addresses may be an NBMA group address or an NBMA
  862.               individual address.
  863.  
  864.           2.  (CLNP ESs only) Set of CLNP address prefixes reachable on
  865.               NBMA
  866.  
  867.               a.  CLNP address prefix
  868.  
  869.               b.  flag indicating NBMA address is to be extracted from
  870.                   the IDP, or if flag is false, an NBMA address or set of
  871.                   NBMA addresses to which packets for that CLNP address
  872.                   prefix is to be forwarded
  873.  
  874.           3.  Minimum time (in seconds) between pings of any one
  875.               configured NBMA address for reaching ISs
  876.  
  877.           4.  Time (in seconds) to give up on one NBMA address for
  878.               finding an IS and switching to pinging the next one on the
  879.               list
  880.  
  881.  
  882.  
  883.  
  884.           Perlman   (Internet-Draft expires end December 1993)   [Page 15]
  885.  
  886.           Internet-Draft       Routing over NBMA Links           June 1993
  887.  
  888.  
  889.  
  890.           5.  Transmit password -- a variable length value to be included
  891.               in ES Hellos. If no password is configured (or a null
  892.               password is configured), the password option is not
  893.               included in ES Hellos.
  894.  
  895.           6.  Set of receive passwords -- a set of variable length
  896.               values. If none are configured (the set is the null set),
  897.               then the password option, if it is included in received IS
  898.               Hellos and Hello Redirects, is ignored. If the set is not
  899.               null, then one of the values must appear in a received IS
  900.               Hello or Redirect or the message will be discarded as
  901.               invalid.
  902.  
  903.  
  904.           5.2. Dynamically-Learned-ESs
  905.  
  906.           1.  Set of NBMA addresses for reaching ISs. Each of these
  907.               addresses may be an NBMA group address or an NBMA
  908.               individual address.
  909.  
  910.           2.  (CLNP ESs only) Set of CLNP address prefixes reachable on
  911.               NBMA
  912.  
  913.               a.  CLNP address prefix
  914.  
  915.               b.  flag indicating NBMA address is to be extracted from
  916.                   the IDP, or if flag is false, an NBMA address or set of
  917.                   NBMA addresses to which packets for that CLNP address
  918.                   prefix is to be forwarded
  919.  
  920.           3.  Hello Timer. Number of seconds between transmission of
  921.               Hello Messages by this ES.
  922.  
  923.           4.  (SMDS only) SMDS Group address (if any) that this node
  924.               receives packets on, as an ES.
  925.  
  926.           5.  (CLNP only) Flag as to whether to send Level 1 ES Hello or
  927.               Level 2 ES Hello
  928.  
  929.           6.  If Level 2 ES Hello, a set of CLNP address prefixes to
  930.               advertise
  931.  
  932.           7.  Transmit password -- a variable length value to be included
  933.               in ES Hellos. (optional)
  934.  
  935.           8.  Set of receive passwords -- a set of variable length
  936.               values. If none are configured (the set is the null set),
  937.               then the password option, if it appears in a received IS
  938.               Hello or Hello Redirect, is ignored. If the set is not
  939.               null, then one of the values must appear in a received IS
  940.  
  941.  
  942.  
  943.           Perlman   (Internet-Draft expires end December 1993)   [Page 16]
  944.  
  945.           Internet-Draft       Routing over NBMA Links           June 1993
  946.  
  947.  
  948.  
  949.               Hello or Hello Redirect or the message will be discarded as
  950.               invalid.
  951.  
  952.  
  953.           5.3. Nonpassive-ISs
  954.  
  955.           The following information must be configured into Nonpassive-ISs
  956.           that are attached to NBMA, with the following exceptions. If an
  957.           IS is a level 1 IS, the fields corresponding to level 2
  958.           information are not configured. If an IS is a level 2 IS, then
  959.           the relevant configuration information depends on how the link
  960.           is configured. If the link is configured as "level 2 only", then
  961.           only the level 2 information applies. Otherwise, both the level
  962.           1 and level 2 information is applicable.
  963.  
  964.           1.  Link type: either "level 2 only" or "both level 1 and level
  965.               2". (If the IS is a level 1 only IS, then "both level 1 and
  966.               level 2" just means level 1.)
  967.  
  968.           2.  CLNP Level 1 Configured-ES addresses. Each entry contains:
  969.  
  970.               a.  ID, ID length octets (ID length is a constant for the
  971.                   routing domain and is most likely equal to 6)
  972.  
  973.               b.  NBMA address
  974.  
  975.           3.  IP Confingured-ES addresses.  Each entry contains:
  976.  
  977.               a.  IP address, 4 octets
  978.  
  979.               b.  NBMA address
  980.  
  981.           4.  Preconfigured CLNP Address Prefixes
  982.  
  983.               a.  CLNP address prefix
  984.  
  985.               b.  flag indicating NBMA address is to be extracted from
  986.                   the IDP, or if flag is false, an NBMA address or set of
  987.                   NBMA addresses to which packets for that CLNP address
  988.                   prefix is to be forwarded
  989.  
  990.           5.  Link Costs. Each entry contains:
  991.  
  992.               a.  NBMA address prefix length specified in number of bits,
  993.                   1 octet
  994.  
  995.               b.  NBMA address prefix
  996.  
  997.               c.  Cost from this node to a node with the above NBMA
  998.                   address prefix
  999.  
  1000.  
  1001.  
  1002.           Perlman   (Internet-Draft expires end December 1993)   [Page 17]
  1003.  
  1004.           Internet-Draft       Routing over NBMA Links           June 1993
  1005.  
  1006.  
  1007.  
  1008.               The cost across NBMA to a particular NBMA address S is the
  1009.               cost configured for the longest NBMA address prefix that
  1010.               matches S.
  1011.  
  1012.           6.  (SMDS only) Level 1 IS SMDS Group Address. The SMDS group
  1013.               address this node receives packets on as a level 1 IS, 8
  1014.               octets. This field configured to 0 means this node is not a
  1015.               member of a multicast group for receiving level 1 routing
  1016.               information
  1017.  
  1018.           7.  (SMDS only) Level 2 IS SMDS Group Address. The SMDS group
  1019.               address this node receives packets on as a level 2 IS, 8
  1020.               octets. This field configured to 0 means this node is not a
  1021.               member of a multicast group for receiving level 2 routing
  1022.               information.
  1023.  
  1024.           8.  Priority for becoming Level 1 designated router, 1 octet
  1025.  
  1026.           9.  Priority for becoming Level 2 designated router, 1 octet
  1027.  
  1028.           10. ES NBMA addresses. NBMA addresses (individual and/or group)
  1029.               for reaching Dynamically Discovered ESs. Each entry
  1030.               consists of:
  1031.  
  1032.               a.  NBMA address
  1033.  
  1034.           11. Level 1 IS NBMA addresses. NBMA addresses (individual
  1035.               and/or group) for reaching other level 1 ISs. Each entry
  1036.               consists of:
  1037.  
  1038.               a.  NBMA address
  1039.  
  1040.           12. Level 2 IS NBMA addresses. NBMA addresses (individual
  1041.               and/or group) for reaching other level 2 ISs. Each entry
  1042.               consists of:
  1043.  
  1044.               a.  NBMA address
  1045.  
  1046.           13. Level 1 IS to IS Hello Timer -- 2 octets. Time in seconds
  1047.               between periodic transmission of IS Hello messages to the
  1048.               level 1 Designated Router (or if this node is the level 1
  1049.               DR for that area, to all the level 1 ISs in that area)
  1050.  
  1051.           14. Level 2 IS to IS Hello Timer -- 2 octets. Time in seconds
  1052.               between periodic transmission of IS Hello messages to the
  1053.               level 2 Designated Router (or if this node is the level 2
  1054.               DR, to all the level 2 ISs)
  1055.  
  1056.           15. IS to ES Hello Timer -- 2 octets. Time in seconds between
  1057.               transmission of Hello messages to the ESs on NBMA which
  1058.  
  1059.  
  1060.  
  1061.           Perlman   (Internet-Draft expires end December 1993)   [Page 18]
  1062.  
  1063.           Internet-Draft       Routing over NBMA Links           June 1993
  1064.  
  1065.  
  1066.  
  1067.               have transmitted ES Hellos, which is only relevant if this
  1068.               node is Designated Router. If this node is level 1 DR, then
  1069.               DR to ES Hellos are transmitted to those ESs that have
  1070.               transmitted level 1 ES Hellos. If this node is level 2 DR,
  1071.               then DR to ES Hellos are transmitted to those ESs that have
  1072.               transmitted level 2 ES Hellos (which advertise CLNP address
  1073.               prefixes).
  1074.  
  1075.           16. Redirect cache holding timer -- 2 octets. The value to put
  1076.               into Redirect messages as the holding timer.
  1077.  
  1078.           17. Level 1 IS Transmit password -- a variable length value to
  1079.               be included in level 1 IS Hellos and Hello Redirects.
  1080.               (optional)
  1081.  
  1082.           18. Level 1 IS set of receive passwords -- a set of variable
  1083.               length values. If the set is the null set then the password
  1084.               option, if it appears in a received Level 1 IS Hello and
  1085.               Hello Redirect, is ignored. If the set is not null, then
  1086.               one of the configured values must appear in a received IS
  1087.               Hello or Hello Redirect or the packet will be discarded as
  1088.               invalid.
  1089.  
  1090.           19. ES set of receive passwords -- a set of variable length
  1091.               values. If the set is the null set, then the password
  1092.               option (if it appears) in received ES Hellos is ignored. If
  1093.               the set is not null, then one of the configured values must
  1094.               appear in a received ES Hello or the ES Hello will be
  1095.               discarded as invalid.
  1096.  
  1097.           20. ES Transmit password -- a variable length value to be
  1098.               included in the DR to ES Hello and Hello Redirect.
  1099.               (optional)
  1100.  
  1101.           21. Level 2 Transmit password -- a variable length value to be
  1102.               included in level 2 IS Hellos and Hello Redirects.
  1103.               (optional)
  1104.  
  1105.           22. Level 2 Set of receive passwords -- a set of variable
  1106.               length values. If the set is the null set, then the
  1107.               password option (if it appears) in received Level 2 IS
  1108.               Hellos and Hello Redirects is ignored. If the set is not
  1109.               null, then one of the values must appear in a received
  1110.               Level 2 IS Hello or Hello Redirect or the packet will be
  1111.               discarded as invalid.
  1112.  
  1113.           23. Time for remembering a manually configured ES or IS NBMA
  1114.               address reported in an IS-Hello in option types 1 or 3.
  1115.               This is used only by the DR (but must be configured into
  1116.               all ISs, since any IS might become DR). It is 1 octet,
  1117.  
  1118.  
  1119.  
  1120.           Perlman   (Internet-Draft expires end December 1993)   [Page 19]
  1121.  
  1122.           Internet-Draft       Routing over NBMA Links           June 1993
  1123.  
  1124.  
  1125.  
  1126.               specified in minutes, with a default of 10. If no IS has
  1127.               reported an NBMA address in option types 1 or 3 in an
  1128.               IS-Hello the DR has received within this amount of time,
  1129.               that address is discarded from the DR's dynamic database of
  1130.               configured addresses reported by IS neighbors.
  1131.  
  1132.  
  1133.           6. Databases
  1134.  
  1135.  
  1136.           6.1. Kept By Simple-ES, Configured-ES, Passive-IS, And
  1137.           Configured-Passive-IS
  1138.  
  1139.           1.  Active IS Information
  1140.  
  1141.               a.  NBMA address
  1142.  
  1143.               b.  Holding Timer
  1144.  
  1145.               c.  Time since cache entry verified, either by receipt of
  1146.                   IS Hello or receipt of data packet forwarded from that
  1147.                   NBMA address
  1148.  
  1149.           2.  Backup Active IS Information (other ISs that answered the
  1150.               ping)
  1151.  
  1152.               a.  NBMA address
  1153.  
  1154.               b.  Holding Timer
  1155.  
  1156.               c.  Time since cache entry verified, either by receipt of
  1157.                   IS Hello or receipt of data packet forwarded from that
  1158.                   NBMA address
  1159.  
  1160.           3.  IS NBMA addresses pinged -- for each configured NBMA
  1161.               address for reaching nonpassive ISs, a timestamp as to when
  1162.               a ping was last sent to that address
  1163.  
  1164.           4.  Destination cache
  1165.  
  1166.               a.  Network Layer addresses.  This takes the form:
  1167.  
  1168.                   (1) In the case of CLNP it takes the form of a CLNP
  1169.                       address prefix (or optionally, for implementation
  1170.                       simplicity, complete NSAP address)
  1171.  
  1172.                   (2) In the case of IP it takes the form of an IP
  1173.                       (address, mask) pair (or optionally, for
  1174.                       implementation simplicity, merely a 32 bit IP
  1175.                       address)
  1176.  
  1177.  
  1178.  
  1179.           Perlman   (Internet-Draft expires end December 1993)   [Page 20]
  1180.  
  1181.           Internet-Draft       Routing over NBMA Links           June 1993
  1182.  
  1183.  
  1184.  
  1185.               b.  Set of NBMA addresses for reaching network layer
  1186.                   addresses that match this prefix or address,mask pair,
  1187.                   with a pointer indicating which one was chosen most
  1188.                   recently in the round robin use of the preconfigured
  1189.                   set of NBMA addresses. Once traffic is received from an
  1190.                   NBMA address, the set of addresses is replaced by the
  1191.                   single NBMA address.
  1192.  
  1193.               c.  Time since entry verified by incoming message (data
  1194.                   message from the CLNP address/NBMA pair stored in this
  1195.                   entry, or receipt of a Redirect with that pair
  1196.                   specified)
  1197.  
  1198.  
  1199.           6.2. Kept By Dynamically-Learned ES
  1200.  
  1201.           1.  Designated Router Information
  1202.  
  1203.               a.  NBMA address
  1204.  
  1205.               b.  Holding Timer
  1206.  
  1207.               c.  Time since DR-ES Hello received
  1208.  
  1209.           2.  Destination cache
  1210.  
  1211.               a.  Network Layer addresses.  This takes the form:
  1212.  
  1213.                   (1) In the case of CLNP it takes the form of a CLNP
  1214.                       address prefix (or optionally, for implementation
  1215.                       simplicity, complete NSAP address)
  1216.  
  1217.                   (2) In the case of IP it takes the form of an IP
  1218.                       (address, mask) pair (or optionally, for
  1219.                       implementation simplicity, merely a 32 bit IP
  1220.                       address)
  1221.  
  1222.               b.  Set of NBMA addresses for reaching network layer
  1223.                   addresses that match this prefix or address,mask pair,
  1224.                   with a pointer indicating which one was chosen most
  1225.                   recently in the round robin use of the preconfigured
  1226.                   set of NBMA addresses. Once traffic is received from an
  1227.                   NBMA address, the set of addresses is replaced by the
  1228.                   single NBMA address.
  1229.  
  1230.               c.  Time since entry verified by incoming message (data
  1231.                   message from the CLNP address/NBMA pair stored in this
  1232.                   entry, or receipt of a Redirect with that pair
  1233.                   specified)
  1234.  
  1235.  
  1236.  
  1237.  
  1238.           Perlman   (Internet-Draft expires end December 1993)   [Page 21]
  1239.  
  1240.           Internet-Draft       Routing over NBMA Links           June 1993
  1241.  
  1242.  
  1243.  
  1244.           6.3. Kept By Level 1 ISs
  1245.  
  1246.           Note that in the usual case all CLNP ISs on NBMA will be level 2
  1247.           ISs, because they will have different IDPs (since the
  1248.           recommended use of CLNP addressing over NBMA is to use the NBMA
  1249.           point of attachment as the IDP). However, in certain rare cases,
  1250.           such as running with DECnet Phase IV compatible addresses it may
  1251.           be convenient to assign addresses such that running level 1
  1252.           IS-IS over NBMA makes sense.
  1253.  
  1254.           1.  Designated Router information (kept by ISs other than the
  1255.               DR) -- information from DR's IS Hello, plus
  1256.  
  1257.               a.  NBMA address
  1258.  
  1259.               b.  Holding Timer
  1260.  
  1261.               c.  Time since Hello Received from DR
  1262.  
  1263.           2.  Adjacency Information for NBMA neighbors (kept by ISs other
  1264.               than the DR) -- This information is received from the DR-IS
  1265.               Hello. It includes the CLNP ID/NBMA address correspondence
  1266.               for all nodes in the area reachable across NBMA
  1267.  
  1268.           3.  Flags for which Level 1 LSPs need to be transmitted over
  1269.               NBMA
  1270.  
  1271.           4.  Redirect Database (for getting rid of extra hop
  1272.               suboptimality on NBMA)
  1273.  
  1274.               a.  CLNP address prefix, or IP address, mask pair
  1275.  
  1276.               b.  NBMA address
  1277.  
  1278.               c.  holding timer
  1279.  
  1280.               d.  Time since entry verified by incoming message.
  1281.  
  1282.  
  1283.           6.4. Kept By Level 2 ISs
  1284.  
  1285.           Note that a level 2 IS is also a level 1 IS, so it keeps both
  1286.           databases, unless the NBMA circuit is marked "level 2 only"
  1287.  
  1288.           1.  Designated Router information (kept by ISs other than the
  1289.               DR) -- information from DR's IS Hello, plus
  1290.  
  1291.               a.  NBMA address
  1292.  
  1293.               b.  Holding Timer
  1294.  
  1295.  
  1296.  
  1297.           Perlman   (Internet-Draft expires end December 1993)   [Page 22]
  1298.  
  1299.           Internet-Draft       Routing over NBMA Links           June 1993
  1300.  
  1301.  
  1302.  
  1303.               c.  Time since Hello Received from DR
  1304.  
  1305.           2.  Adjacency Information for NBMA neighbors (kept by ISs other
  1306.               than the DR) -- This information is received from the DR-IS
  1307.               Hello. It includes the CLNP ID/NBMA address correspondence
  1308.               for all nodes in the area reachable across NBMA.
  1309.  
  1310.           3.  Flags for which Level 2 LSPs need to be transmitted over
  1311.               NBMA
  1312.  
  1313.           4.  Redirect Database (for getting rid of extra hop
  1314.               suboptimality on NBMA)
  1315.  
  1316.               a.  CLNP address prefix or IP address, mask pair
  1317.  
  1318.               b.  NBMA address
  1319.  
  1320.               c.  holding timer
  1321.  
  1322.               d.  Time since entry verified by incoming message.
  1323.  
  1324.  
  1325.           6.5. Additional Information Kept By Designated Router
  1326.  
  1327.           (Note that in the case of a level 2 IS that has the circuit
  1328.           marked as "both level 1 and level 2") it will have two copies of
  1329.           this database, one for level 1 and one for level 2
  1330.  
  1331.           1.  Dynamically Discovered Neighbor ESs
  1332.  
  1333.               a.  NBMA address
  1334.  
  1335.               b.  Network Layer address.  In the case of CLNP this is a
  1336.                   set of CLNP IDs (if level 1), or set of CLNP address
  1337.                   prefixes (if level 2). Address prefixes are variable
  1338.                   length, up to 20 octets.  In the case of IP, it is an
  1339.                   IP address, mask pair.  The mask will be
  1340.                   255.255.255.255 if the ES is really an ES.  It may be
  1341.                   different from 255.255.255.255 is the "ES" is really a
  1342.                   passive IS.
  1343.  
  1344.               c.  Holding Timer
  1345.  
  1346.               d.  Time since Hello received
  1347.  
  1348.               e.  NBMA group address this ES receives messages on (if
  1349.                   any)
  1350.  
  1351.           2.  IS Neighbors
  1352.  
  1353.  
  1354.  
  1355.  
  1356.           Perlman   (Internet-Draft expires end December 1993)   [Page 23]
  1357.  
  1358.           Internet-Draft       Routing over NBMA Links           June 1993
  1359.  
  1360.  
  1361.  
  1362.               a.  unicast NBMA address for this IS neighbor (discovered
  1363.                   based on the source address in the NBMA header of the
  1364.                   IS Hello received from this IS)
  1365.  
  1366.               b.  ID
  1367.  
  1368.               c.  Holding Timer
  1369.  
  1370.               d.  Time since Hello Received
  1371.  
  1372.               e.  NBMA group address this IS neighbor receives messages
  1373.                   on (if any)
  1374.  
  1375.               f.  Cost of the link across NBMA to this neighbor IS
  1376.  
  1377.           3.  If level 1, L1-IS-NBMA-BROADCAST-ADDRESSES. If level 2,
  1378.               L2-IS-NBMA-BROADCAST-ADDRESSES. The minimal set of NBMA
  1379.               addresses that will reach all ISs of the appropriate level.
  1380.               This includes all manually configured NBMA addresses as
  1381.               configured into the DR or received by the DR in IS Hellos
  1382.               (in option type 1), that will reach all ISs. All reported
  1383.               and configured NBMA group addresses are included, and any
  1384.               NBMA individual addresses for ISs that are not known to be
  1385.               included in any of the multicast groups are included.
  1386.  
  1387.           4.  ES-NBMA-BROADCAST-ADDRESSES. The minimal set of NBMA
  1388.               addresses that will reach all the Dynamically-Learned ESs
  1389.               from which ES Hellos have been received. This is the set of
  1390.               NBMA addresses reported in received IS Hellos (in option
  1391.               type 3), plus NBMA unicast addresses from which ES Hellos
  1392.               are received, minus those unicast addresses from ESs that
  1393.               report reachability via an NBMA group address, plus any
  1394.               NBMA group addresses advertised in ES Hellos.
  1395.  
  1396.           5.  Manually configured NBMA addresses for ISs, as discovered
  1397.               through option type 1 in received IS-Hellos. Each entry
  1398.               contains:
  1399.  
  1400.               a.  NBMA address
  1401.  
  1402.               b.  Most recent time that address was reported in any
  1403.                   received IS Hello
  1404.  
  1405.           6.  Manually configured NBMA addresses for ESs, as discovered
  1406.               through option type 3 in received IS-Hellos. Each entry
  1407.               contains:
  1408.  
  1409.               a.  NBMA address
  1410.  
  1411.               b.  Most recent time that address was reported in any
  1412.  
  1413.  
  1414.  
  1415.           Perlman   (Internet-Draft expires end December 1993)   [Page 24]
  1416.  
  1417.           Internet-Draft       Routing over NBMA Links           June 1993
  1418.  
  1419.  
  1420.  
  1421.                   received IS Hello
  1422.  
  1423.  
  1424.           7. Protocols
  1425.  
  1426.  
  1427.           7.1. Electing A Designated Router
  1428.  
  1429.           Election of a DR is done independently in each area on NBMA, and
  1430.           among the level 2 ISs on NBMA. The protocol assumes each IS is
  1431.           configured with some number of addresses of neighbor ISs, but
  1432.           that no such list is necessarily complete. The configured
  1433.           addresses can be NBMA group addresses and/or NBMA individual
  1434.           addresses. One IS gets elected Designated Router. The DR
  1435.           transmits DR-IS-Hellos periodically to all configured NBMA
  1436.           addresses for ISs, which are those that it has been configured
  1437.           with as well as others it learns about through received
  1438.           IS-Hellos. All ISs other than the DR transmit an IS-Hello
  1439.           periodically, but only to the DR. The DR includes in its
  1440.           DR-IS-Hello a list of all the ISs on NBMA.
  1441.  
  1442.           This protocol minimizes IS Hello traffic, and allows incomplete
  1443.           configuration (for instance, it allows a new IS to be installed
  1444.           by merely configuring the new IS with the NBMA address of any
  1445.           other IS).
  1446.  
  1447.           Each IS starts out assuming it is DR. An IS that thinks it is DR
  1448.           transmits DR-IS-Hellos periodically to each of its manually
  1449.           configured NBMA addresses for IS neighbors. It also receives
  1450.           IS-Hellos from other ISs, which contain the NBMA addresses those
  1451.           ISs have been manually configured with to reach IS neighbors.
  1452.           The DR combines all these addresses and transmits DR-IS-Hellos
  1453.           to all of those addresses, plus all the NBMA addresses from
  1454.           which it receives IS-Hellos, with one exception. Since some of
  1455.           the manually configured addresses might be NBMA group addresses,
  1456.           some ISs might receive multiple copies of the DR-IS-Hellos,
  1457.           which would be wasteful. Therefore the IS-Hello contains the
  1458.           NBMA group address (if any) that the transmitting IS receives
  1459.           messages on. Then the DR can eliminate NBMA unicast addresses
  1460.           that are already being covered by any NBMA group addresses in
  1461.           the set.
  1462.  
  1463.           An IS stops thinking itself DR if it receives a DR-IS-Hello from
  1464.           an IS "more qualified" to be DR (which is based on ID and
  1465.           configured priority). An IS that thinks some other IS is DR
  1466.           stops sending DR-IS-Hellos and instead sends IS-Hellos, and only
  1467.           to the IS it thinks is the DR.
  1468.  
  1469.           One additional message is a "Hello-Redirect". This is
  1470.           transmitted by an IS R1, that thinks IS R2 is DR. R1 transmits a
  1471.  
  1472.  
  1473.  
  1474.           Perlman   (Internet-Draft expires end December 1993)   [Page 25]
  1475.  
  1476.           Internet-Draft       Routing over NBMA Links           June 1993
  1477.  
  1478.  
  1479.  
  1480.           "Hello-Redirect" in response to receiving an IS-Hello from R3
  1481.           (since R3 sent an IS-Hello to R1, that means that R3 thinks R1
  1482.           is DR). The Hello-Redirect informs R3 that R2's NBMA address is
  1483.           really the DR. When R3 receives the Hello-Redirect, it transmits
  1484.           a single IS-Hello to the NBMA address in the Hello-Redirect, but
  1485.           does not otherwise change its perception of the DR. Only after
  1486.           it receives a DR-IS-Hello from R2 will R3 change its perception
  1487.           of the DR.
  1488.  
  1489.           The protocol is as follows:
  1490.  
  1491.           1.  If a DR other than SELF is known, periodically (IS to IS
  1492.               Hello Timer) transmit IS-Hello messages to the DR. The
  1493.               IS-Hello contains the transmitting IS's NBMA individual
  1494.               address (the source address in the NBMA header), an NBMA
  1495.               group address on which it receives messages (if any), and
  1496.               the NBMA addresses (group and/or individual) it was
  1497.               configured with for reaching IS neighbors.
  1498.  
  1499.           2.  If the Holding Timer expires without receipt of a
  1500.               DR-IS-Hello from the DR, delete all information about the
  1501.               DR and assume SELF is DR.
  1502.  
  1503.           3.  If IS R1 which thinks R2 is DR receives an IS-Hello from
  1504.               R3, R1 sends R3 a Hello-Redirect, informing R3 about R2.
  1505.  
  1506.           4.  If IS R3 receives a Hello-Redirect, informing it of R2, R3
  1507.               transmits a single IS-Hello to R2, but does not change any
  1508.               of its state about the DR.
  1509.  
  1510.           5.  If IS R1 which thinks R2 is DR receives a DR-IS-Hello from
  1511.               R4, and R4 has a higher priority for becoming DR than R2
  1512.               (based on ID and priority), then R1 deletes the information
  1513.               about R2 and keeps R4 as DR.
  1514.  
  1515.           6.  If IS R1 thinks itself to be DR, it combines all the
  1516.               configured NBMA addresses for ISs that it either was
  1517.               configured with or that it learned through IS-Hello
  1518.               messages. It adds to that set the NBMA addresses from which
  1519.               it receives IS-Hellos. It then deletes from the set of
  1520.               unicast addresses, those NBMA addresses of ISs that claim
  1521.               to be included in an NBMA group address in the set. This
  1522.               list of addresses is the one that R1 periodically transmits
  1523.               DR-IS-Hello messages to. It is called the
  1524.               IS-NBMA-BROADCAST-ADDRESSES.
  1525.  
  1526.               The DR inserts into its DR-IS Hello a list of the ID, NBMA
  1527.               address pairs of each IS from whom it has recently received
  1528.               an IS-Hello. This list is used so that ISs other than the
  1529.               DR can forward to each other directly over NBMA (i.e., they
  1530.  
  1531.  
  1532.  
  1533.           Perlman   (Internet-Draft expires end December 1993)   [Page 26]
  1534.  
  1535.           Internet-Draft       Routing over NBMA Links           June 1993
  1536.  
  1537.  
  1538.  
  1539.               can know the NBMA address associated with their neighbor
  1540.               ISs).
  1541.  
  1542.  
  1543.           7.2. Finding An IS
  1544.  
  1545.           Simple-ESs, Configured-ESs, Passive-ISs, and
  1546.           Configured-Passive-ISs do not maintain continual contact with a
  1547.           non-passive IS, as nonpassive ISs and Dynamically-Learned ESs
  1548.           do. They find an IS on an as-needed basis by "pinging". They are
  1549.           configured with a set of NBMA addresses (group and/or
  1550.           individual) for reaching ISs. When they need an IS, they send an
  1551.           ES Hello (with Holding Timer 0) to each configured address,
  1552.           round robin, until a reply (in the form of a DR-ES Hello or
  1553.           Hello Redirect) is received. An ES Hello with holding timer=0 is
  1554.           known as a "ping".
  1555.  
  1556.           An IS that receives an ES Hello with Holding Timer equal to 0
  1557.           replies with a DR-ES Hello (if the receiving IS is the DR) or a
  1558.           Hello Redirect (if the receiving IS is other than the DR). ES
  1559.           implementations may choose to store only the NBMA address of the
  1560.           DR (the one from which a DR-ES is received, or the NBMA address
  1561.           in received Hello Redirects), or it may choose to store more
  1562.           NBMA addresses for ISs as backups.
  1563.  
  1564.           The ISs that receive ES Hellos with Holding Timer=0 reply with a
  1565.           single packet (DR-ES Hello or Hello Redirect) to the NBMA
  1566.           address from which the ES Hello was received, but do not
  1567.           otherwise store information from the received ES Hello.
  1568.  
  1569.  
  1570.           7.3. Forwarding Across NBMA
  1571.  
  1572.           Only the DR gets IS Hellos from all the ISs and ES Hellos from
  1573.           all the dynamically discovered ESs. The DR will put the network
  1574.           layer addresses of all the reachable ESs and ISs in the
  1575.           pseudonode LSP, so all the nonpassive ISs will learn which nodes
  1576.           are reachable across NBMA.  However, the NBMA address will not
  1577.           appear in the pseudonode LSP. To enable ISs to communicate
  1578.           directly, the DR's IS Hello will include the ID, NBMA address
  1579.           pairs of all ISs. It will not include all the dynamically
  1580.           discovered ESs in the Hello, however. Instead an IS other than
  1581.           the DR that needs to transmit to a dynamically discovered ES
  1582.           will first transmit to the DR, and then receive a Redirect.
  1583.  
  1584.           The reason the DR-IS Hello contains a list of ISs but not ESs is
  1585.           that it is more important to quickly learn about ISs that have
  1586.           gone down than ESs. If a Redirect cache entry for an ES no
  1587.           longer works, it means the ES is unreachable, whereas if an IS
  1588.           goes down, any Redirect cache entries indicating traffic should
  1589.  
  1590.  
  1591.  
  1592.           Perlman   (Internet-Draft expires end December 1993)   [Page 27]
  1593.  
  1594.           Internet-Draft       Routing over NBMA Links           June 1993
  1595.  
  1596.  
  1597.  
  1598.           be forwarded to that IS become black holes for destinations that
  1599.           might be reachable through a different IS.
  1600.  
  1601.  
  1602.           7.4. Fragmentation Of The DR-Hello
  1603.  
  1604.           The DR-IS Hello might become very large due to its including the
  1605.           IS Adjacency information, which is the list of ID, NBMA address
  1606.           pairs of all the IS adjacencies on NBMA.
  1607.  
  1608.           The DR-IS Hello is encoded so that partial information can
  1609.           appear and be processed. This is done by including an address
  1610.           range when list of addresses appears. Then receiving ISs can
  1611.           adjust the portion of their adjacency database or NBMA transmit
  1612.           list that is included in that range, based solely on the
  1613.           information in one DR-IS Hello fragment.
  1614.  
  1615.  
  1616.           7.5. Maintenance Of The Destination Cache
  1617.  
  1618.           Assume a packet is received with destination D, either from
  1619.           Transport or from a link (in the case of an IS).
  1620.  
  1621.           1.  (only relevant if packet arrived from Transport and the
  1622.               Transport/Network Layer interface allows a notification by
  1623.               Transport that it is not successfully communicating with
  1624.               that destination). If Transport indicates a problem
  1625.               communicating with D, then delete the cache entry for D. If
  1626.               no cache entry exists for D, and this node is a simple ES
  1627.               or passive IS, delete knowledge of the active IS (which
  1628.               will cause re-pinging to find a new active IS).
  1629.  
  1630.           2.  If a cache entry in the destination cache exists for D,
  1631.               then
  1632.  
  1633.               a.  if only a single NBMA address is indicated in the
  1634.                   cache, send to that NBMA address
  1635.  
  1636.               b.  if a set of NBMA addresses is given in the cache, find
  1637.                   the one after the one most recently used, update the
  1638.                   round robin pointer, and send to that NBMA address
  1639.  
  1640.           3.  Else (no cache entry exists), if this node is a nonpassive
  1641.               IS, and a route to D has been learned through the IS-IS
  1642.               protocol which is of smaller cost or a more specific
  1643.               address match than any address prefix that matches D that
  1644.               has been configured for the NBMA circuit, then route
  1645.               according to the IS-IS learned path.
  1646.  
  1647.           4.  Else (no cache entry exists, no better information has been
  1648.  
  1649.  
  1650.  
  1651.           Perlman   (Internet-Draft expires end December 1993)   [Page 28]
  1652.  
  1653.           Internet-Draft       Routing over NBMA Links           June 1993
  1654.  
  1655.  
  1656.  
  1657.               learned through IS-IS), if D matches a configured address
  1658.               prefix, then
  1659.  
  1660.               a.  if the configuration information indicates the NBMA
  1661.                   address is to be extracted from D's IDP, then extract
  1662.                   the NBMA address and transmit the packet
  1663.  
  1664.               b.  if the configuration information is instead a specific
  1665.                   NBMA address, then transmit the packet to that NBMA
  1666.                   address
  1667.  
  1668.               c.  if the configuration information instead is a set of
  1669.                   NBMA addresses, then make a cache entry for (D, set of
  1670.                   NBMA addresses, round robin pointer). Send the packet
  1671.                   to the first NBMA address in the list and start the
  1672.                   round robin pointer there.
  1673.  
  1674.           5.  Else (no cache entry for D, D does not match any configured
  1675.               address prefix)
  1676.  
  1677.               a.  if an IS assumed to be active is known, transmit the
  1678.                   packet to that IS's NBMA address
  1679.  
  1680.               b.  Else (no active IS is known), perform the procedure of
  1681.                   pinging the IS addresses. Hold the packet until an IS
  1682.                   responds to the ping, but discard the packet if no
  1683.                   responses are received from any of the ISs.
  1684.  
  1685.  
  1686.           7.6. NBMA Configuration Information Included In LSPs
  1687.  
  1688.           If network layer addresses (IDs for level 1 CLNP, address
  1689.           prefixes for level 2 CLNP, (IP address, mask) pairs for IP) are
  1690.           manually configured as being reachable across NBMA, they must
  1691.           appear in LSPs so that ISs that are not connected to NBMA can
  1692.           reach those addresses. It is wasteful for all the ISs on NBMA to
  1693.           include those addresses in their LSPs. Therefore, an IS includes
  1694.           in its LSP only those manually configured addresses that are not
  1695.           already included in the pseudonode LSP for NBMA. As a result if
  1696.           all nonpassive ISs on NBMA are configured with the same set of
  1697.           reachable addresses for NBMA, only the DR will report those
  1698.           addresses in an LSP (the pseudonode LSP). If the nonpassive ISs
  1699.           are incompletely configured, then all ISs on NBMA that have been
  1700.           configured with a reachable address that the DR has not been
  1701.           configured with will report that reachable address in their LSP.
  1702.           Redirects will eliminate extra hops across NBMA due to
  1703.           incompletely configured information.
  1704.  
  1705.  
  1706.           8. Packet Formats
  1707.  
  1708.  
  1709.  
  1710.           Perlman   (Internet-Draft expires end December 1993)   [Page 29]
  1711.  
  1712.           Internet-Draft       Routing over NBMA Links           June 1993
  1713.  
  1714.  
  1715.  
  1716.           8.1. Unchanged Packet Formats
  1717.  
  1718.           1.  CLNP packets (data packet and error report)
  1719.  
  1720.           2.  IP packets (data packets)
  1721.  
  1722.           3.  LSPs (Level 1 and level 2)
  1723.  
  1724.           4.  CSNPs (Level 1 and level 2)
  1725.  
  1726.           5.  PSNPs (Level 1 and level 2)
  1727.  
  1728.  
  1729.           The remainder of this section describes the ES-IS and IS-IS
  1730.           Packet formats proposed for SMDS.  Packet formats might be
  1731.           different for different types of NBMA.  For instance, the NBMA
  1732.           address might not be 8 bytes.
  1733.  
  1734.  
  1735.           8.2. Initial Fields in all the ES-IS and IS-IS SMDS Packets
  1736.  
  1737.           All the packets start out with the following fields:
  1738.  
  1739.                      # of octets
  1740.           +---------+
  1741.           | NLPID   |     1
  1742.           +---------+
  1743.           | Version |     1
  1744.           +---------+
  1745.           | length  |     2
  1746.           +---------+
  1747.           | Type    |     1
  1748.           +---------+
  1749.  
  1750.  
  1751.  
  1752.           1.  NLPID (Network Layer Protocol ID) will be 82 hex for ES-IS
  1753.               or 83 hex for IS-IS
  1754.  
  1755.           2.  Version, the constant 1
  1756.  
  1757.           3.  Length, the total length of the CLNS packet
  1758.  
  1759.           4.  Type, the type of packet:
  1760.  
  1761.                   1 => SMDS ES Hello (ES-IS pkt): type 2
  1762.  
  1763.                   2 => SMDS DR-ES Hello (ES-IS pkt): type 4
  1764.  
  1765.                   3 => SMDS Level 1 IS Hello (IS-IS pkt): type 0f hex
  1766.  
  1767.  
  1768.  
  1769.           Perlman   (Internet-Draft expires end December 1993)   [Page 30]
  1770.  
  1771.           Internet-Draft       Routing over NBMA Links           June 1993
  1772.  
  1773.  
  1774.  
  1775.                   4 => SMDS Level 2 IS Hello (IS-IS pkt): type 10 hex
  1776.  
  1777.                   5 => SMDS Redirect (ES-IS): type 6
  1778.  
  1779.           Some have "options", which are encoded as:
  1780.  
  1781.                      # of octets
  1782.           +---------+
  1783.           | type    | 1
  1784.           +---------+
  1785.           | length  | 1 or 2 (depending on option type)
  1786.           +---------+
  1787.           | value   | variable
  1788.           +---------+
  1789.  
  1790.           1.  type, the type of option
  1791.  
  1792.           2.  length, the length in octets of the "data" field
  1793.  
  1794.           3.  data, the data associated with the option
  1795.  
  1796.           The defined types for SMDS options are:
  1797.  
  1798.           1.  preconfigured SMDS addresses for reaching ISs, option type
  1799.               1
  1800.  
  1801.           2.  IS adjacencies, option type 2
  1802.  
  1803.           3.  preconfigured SMDS addresses for reaching ESs, option type
  1804.               3
  1805.  
  1806.           4.  area addresses, option type 4
  1807.  
  1808.           5.  password, option type 5
  1809.  
  1810.           In addition, there are options that appear in ES-IS packets as
  1811.           defined in ISO 9542. These options have a length field which is
  1812.           1 octet. The ISO 9542-defined options may appear in the
  1813.           functionally equivalent SMDS ES-IS packets defined in this
  1814.           document, in which case they would have the option codes and
  1815.           functions (and a length field of 1 octet) as defined in ISO
  1816.           9542. Those options are:
  1817.  
  1818.           1.  security, option type c5 hex
  1819.  
  1820.           2.  quality of service maintenance, option type c3 hex
  1821.  
  1822.           3.  priority, option type cd hex
  1823.  
  1824.           4.  address mask, option type e1 hex
  1825.  
  1826.  
  1827.  
  1828.           Perlman   (Internet-Draft expires end December 1993)   [Page 31]
  1829.  
  1830.           Internet-Draft       Routing over NBMA Links           June 1993
  1831.  
  1832.  
  1833.  
  1834.           5.  SNPA mask, option type e2 hex
  1835.  
  1836.           6.  suggested ES configuration timer, option type c6 hex
  1837.  
  1838.  
  1839.           8.3. SMDS ES Hello
  1840.  
  1841.           Only dynamically discovered ESs send ES Hellos. Usually an SMDS
  1842.           ES will have to send a level 2 ES Hello because its IDP will not
  1843.           equal the IDP of an IS reachable across SMDS.
  1844.  
  1845.           A level 1 ES Hello is distinguished from a level 2 ES Hello
  1846.           based on the "level" flag.
  1847.  
  1848.           1.  NLPID, 1 octet, 82 hex (for ES-IS)
  1849.  
  1850.           2.  Version, 1 octet, the constant 1
  1851.  
  1852.           3.  Length, 2 octets, the total length of the packet
  1853.  
  1854.           4.  Packet Type
  1855.  
  1856.           5.  Holding Time, 2 octets, the value in seconds, equal to 3
  1857.               times Hello Timer
  1858.  
  1859.           6.  level, 1 octet -- the top 7 bits are reserved. The bottom
  1860.               bit=1 to indicate this is a level 2 ES Hello.
  1861.  
  1862.           7.  Number of source addresses, 1 octet. In a leve1 1 ES Hello,
  1863.               each source address consists of the ID portion of the CLNP
  1864.               address. In a level 2 ES Hello, each source address
  1865.               consists of an octet specifying the address length, and an
  1866.               octet specifying the address. In level 2 ES Hellos, the
  1867.               addresses advertised are CLNP address prefixes.
  1868.  
  1869.           8.  Source address
  1870.  
  1871.           9.  Source address
  1872.  
  1873.           10. ...
  1874.  
  1875.           11. Source address
  1876.  
  1877.           12. Options
  1878.  
  1879.               a.  Password
  1880.  
  1881.                   (1) Option type, 1 octet = 5
  1882.  
  1883.                   (2) length, 1 octet
  1884.  
  1885.  
  1886.  
  1887.           Perlman   (Internet-Draft expires end December 1993)   [Page 32]
  1888.  
  1889.           Internet-Draft       Routing over NBMA Links           June 1993
  1890.  
  1891.  
  1892.  
  1893.                   (3) password
  1894.  
  1895.  
  1896.           8.4. SMDS DR-to-ES Hello
  1897.  
  1898.           1.  NLPID, 1 octet, 82 hex (for ES-IS)
  1899.  
  1900.           2.  Version, 1 octet, the constant 1
  1901.  
  1902.           3.  Length, 2 octets, the total length of the packet
  1903.  
  1904.           4.  Packet Type
  1905.  
  1906.           5.  Holding Time, 2 octets, the value in seconds, equal to 3
  1907.               times Hello Timer
  1908.  
  1909.           6.  Options
  1910.  
  1911.               a.  Password
  1912.  
  1913.                   (1) Option type, 1 octet = 5
  1914.  
  1915.                   (2) length, 1 octet
  1916.  
  1917.                   (3) password
  1918.  
  1919.  
  1920.           8.5. SMDS Level 1 IS Hello
  1921.  
  1922.           This packet type is used both for a non-DR to send an ISH to the
  1923.           DR, and for the DR to send its ISH to the other ISs.
  1924.  
  1925.           1.  NLPID, 1 octet, 83 hex (for IS-IS)
  1926.  
  1927.           2.  Version, 1 octet, the constant 1
  1928.  
  1929.           3.  Length, 2 octets, the total length of the packet
  1930.  
  1931.           4.  Packet Type
  1932.  
  1933.           5.  Holding Time, 2 octets, the value in seconds, equal to 3
  1934.               times Hello Timer
  1935.  
  1936.           6.  DR flag, 1 octet -- the top 7 bits are reserved. The bottom
  1937.               bit=1 indicates the transmitting IS considers itself to be
  1938.               the DR.
  1939.  
  1940.           7.  ID length, 1 octet, the number of octets this IS thinks is
  1941.               in the ID field of a CLNP address
  1942.  
  1943.  
  1944.  
  1945.  
  1946.           Perlman   (Internet-Draft expires end December 1993)   [Page 33]
  1947.  
  1948.           Internet-Draft       Routing over NBMA Links           June 1993
  1949.  
  1950.  
  1951.  
  1952.           8.  Maximum area addresses, 1 octet, the maximum number of area
  1953.               addresses this IS is prepared to keep
  1954.  
  1955.           9.  Priority, 1 octet, the configured priority of this IS for
  1956.               becoming DR
  1957.  
  1958.           10. Circuit type, 1 octet, 1=level 1 only, 2=level 2 only,
  1959.               3=both level 1 and level 2
  1960.  
  1961.           11. ID, (ID length octets)
  1962.  
  1963.           12. SMDS group address (or 0 if none) this IS receives messages
  1964.               on, 8 octets -- this field is only present when the ISH is
  1965.               transmitted by a non-DR
  1966.  
  1967.           13. Options
  1968.  
  1969.               a.  Area addresses
  1970.  
  1971.                   (1) Option type, 1 octet = 4
  1972.  
  1973.                   (2) length, 1 octet, a multiple of 8
  1974.  
  1975.                   (3) list of area addresses
  1976.  
  1977.                       (a)  Address length, 1 octet
  1978.  
  1979.                       (b)  Area Address
  1980.  
  1981.               b.  Preconfigured SMDS addresses for reaching ISs (only
  1982.                   transmitted by non-DR)
  1983.  
  1984.                   (1) Option type, 1 octet = 1
  1985.  
  1986.                   (2) length, 2 octets, a multiple of 8
  1987.  
  1988.                   (3) list of SMDS addresses
  1989.  
  1990.               c.  Preconfigured SMDS addresses for reaching ESs (only
  1991.                   transmitted by non-DR)
  1992.  
  1993.                   (1) Option type, 1 octet = 3
  1994.  
  1995.                   (2) length, 2 octets, a multiple of 8
  1996.  
  1997.                   (3) list of SMDS addresses
  1998.  
  1999.               d.  IS addresses (only transmitted by DR)
  2000.  
  2001.                   (1) option type, 1 octet = 2
  2002.  
  2003.  
  2004.  
  2005.           Perlman   (Internet-Draft expires end December 1993)   [Page 34]
  2006.  
  2007.           Internet-Draft       Routing over NBMA Links           June 1993
  2008.  
  2009.  
  2010.  
  2011.                   (2) length, 2 octets, ID length*2 plus a multiple of
  2012.                       8+ID Length
  2013.  
  2014.                   (3) Numerically lowest ID reported in this IS Hello
  2015.  
  2016.                   (4) Numerically highest ID reported in this IS Hello
  2017.  
  2018.                   (5) ID, SMDS address pairs for nonpassive ISs that have
  2019.                       been sending IS Hellos to the DR
  2020.  
  2021.               e.  Password
  2022.  
  2023.                   (1) Option type, 1 octet = 5
  2024.  
  2025.                   (2) length, 1 octet
  2026.  
  2027.                   (3) password
  2028.  
  2029.  
  2030.           8.6. SMDS Level 2 IS Hello
  2031.  
  2032.           This has the same format as an SMDS Level 1 IS Hello. The only
  2033.           difference is the packet type.
  2034.  
  2035.  
  2036.           8.7. Redirect
  2037.  
  2038.           This type of packet is used as a Hello Redirect and as a Data
  2039.           Redirect. It is used for Level 1 and Level 2 Hello Redirection.
  2040.  
  2041.           A Hello Redirect is used when an IS receives a Hello from an IS
  2042.           or an ES, and that IS does not think itself to be the DR. The
  2043.           packet informs the transmitter of the Hello of the SMDS address
  2044.           of the actual DR. A level 1 IS Hello Redirect is sent in
  2045.           response to a level 1 Hello, and directs towards the level 1 DR.
  2046.           A level 2 IS Hello Redirect is sent in response to a level 2
  2047.           Hello, and directs towards the level 2 DR.
  2048.  
  2049.           A Data Redirect is transmitted by an IS R to the SMDS address
  2050.           from which R received a CLNP packet for forwarding, when R
  2051.           forwards the packet back across the same SMDS network from which
  2052.           the CLNP packet was received.
  2053.  
  2054.           1.  NLPID, 1 octet, 82 hex
  2055.  
  2056.           2.  Version, 1 octet, the constant 1
  2057.  
  2058.           3.  Length, 2 octets, the total length of the packet
  2059.  
  2060.           4.  Packet Type
  2061.  
  2062.  
  2063.  
  2064.           Perlman   (Internet-Draft expires end December 1993)   [Page 35]
  2065.  
  2066.           Internet-Draft       Routing over NBMA Links           June 1993
  2067.  
  2068.  
  2069.  
  2070.           5.  Flags, 1 octet
  2071.  
  2072.                        6          1     1    # of bits
  2073.                   +----------+-------+-----+
  2074.                   | reserved | level | H/D |
  2075.                   +----------+-------+-----+
  2076.  
  2077.               "level" is 0 for level 1, 1 for level 2. "H/D" is 0 for
  2078.               Data Redirect, 1 for Hello Redirect
  2079.  
  2080.           6.  SMDS address, 8 octets: In the case of a Hello Redirect, it
  2081.               is the SMDS address of the DR. In the case of a Data
  2082.               Redirect, it is the SMDS address to forward to for that
  2083.               destination, and all destinations matching that address
  2084.               prefix.
  2085.  
  2086.           7.  Password (only present in Hello Redirect)
  2087.  
  2088.           8.  Holding Time, 2 octets, only present in Data Redirect, and
  2089.               is in units of seconds
  2090.  
  2091.           9.  CLNP destination address length, 1 octet, only present in
  2092.               Data Redirect
  2093.  
  2094.           10. CLNP destination address, variable length, only present in
  2095.               Data Redirect
  2096.  
  2097.  
  2098.  
  2099.  
  2100.  
  2101.  
  2102.  
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118.  
  2119.  
  2120.  
  2121.  
  2122.  
  2123.           Perlman   (Internet-Draft expires end December 1993)   [Page 36]
  2124.  
  2125.           Internet-Draft       Routing over NBMA Links           June 1993
  2126.  
  2127.  
  2128.  
  2129.           9. Acronyms used in this Specification
  2130.  
  2131.               CLNP -- Connectionless Network Layer Protocol. CLNP is the
  2132.               data packet format, including the standard for addressing.
  2133.  
  2134.               CLNS -- Connectionless Network Layer Service. CLNS includes
  2135.               the protocols CLNP, ES-IS and IS-IS.
  2136.  
  2137.               DR -- Designated Router, the IS on a multiaccess link
  2138.               elected to be the focal point for information about the
  2139.               multiaccess link.
  2140.  
  2141.               ES -- End system (i.e., an endnode)
  2142.  
  2143.               IS -- Intermediate system (i.e., a router)
  2144.  
  2145.               ES-IS -- Protocol between neighbor ESs and ISs
  2146.  
  2147.               IS-IS -- Protocol between ISs (includes ISs exchanging
  2148.               routing information so as to compute routes, as well as
  2149.               aprotocol for neighbor ISs to find and keep track of each
  2150.               other)
  2151.  
  2152.               LSP -- Link State Packet
  2153.  
  2154.  
  2155.           10. References
  2156.  
  2157.           [1]TR-TSV-000772 issue 1, May 1991, "Generic System Requirements
  2158.               in support of Switched Multi-Megabit Data Service".
  2159.  
  2160.           [2]TR-TSV-001060 issue 1, December 1991, "Switched Multi-Megabit
  2161.               Data Service Generic Requirements for Exchange Access and
  2162.               Intercompany Service Arrangements".
  2163.  
  2164.           [3]ISO 8473, "Protocol for Providing the Connectionless-Mode
  2165.               Network Service" (CLNP)
  2166.  
  2167.           [4]ISO 9542, "End System to Intermediate System Routeing
  2168.               Exchange Protocol for Use with the Protocol for Defining the
  2169.               Connectionless-Mode Network Service" (ES-IS)
  2170.  
  2171.           [5]ISO 10589, "Intermediate System to Intermediate System
  2172.               Intra-Domain Routeing Exchange Protocol for Use in
  2173.               Conjunction with the Protocol for Providing the
  2174.               Connectionless-mode Network Service" (IS-IS)
  2175.  
  2176.           [6]SMDS Interest Group document SIG-TS-004/1993
  2177.  
  2178.  
  2179.  
  2180.  
  2181.  
  2182.           Perlman   (Internet-Draft expires end December 1993)   [Page 37]
  2183.  
  2184.           Internet-Draft       Routing over NBMA Links           June 1993
  2185.  
  2186.  
  2187.  
  2188.           11. Working Group Information
  2189.  
  2190.           The current co-chairs of the ISIS working group are:
  2191.  
  2192.              Ross Callon
  2193.              Wellfleet Communications Inc.
  2194.              2 Federal Street
  2195.              Billerica MA 01821
  2196.              USA
  2197.  
  2198.              Phone:   (508) 436 3936
  2199.              Email:   rcallon@wellfleet.com
  2200.  
  2201.  
  2202.              Chris Gunner
  2203.              Digital Equipment Corp.
  2204.              550 King Street
  2205.              Littleton MA 01460-1289
  2206.              USA
  2207.  
  2208.              Phone:   (508) 486 7792
  2209.              Fax:     (508) 486 5279
  2210.              Email:   gunner@dsmail.enet.dec.com
  2211.  
  2212.  
  2213.           The working group mailing list is:
  2214.  
  2215.              isis@merit.edu
  2216.  
  2217.  
  2218.  
  2219.           Subscription requests should be sent to:
  2220.  
  2221.              isis-request@merit.edu
  2222.  
  2223.  
  2224.  
  2225.  
  2226.           12. Authors' Addresses
  2227.  
  2228.              Radia Perlman
  2229.              Digital Equipment Corp.
  2230.              550 King Street
  2231.              Littleton MA 01460-1289
  2232.              USA
  2233.  
  2234.              Phone:   (508) 486 7648
  2235.              Fax:     (508) 486 5279
  2236.              Email:   perlman@dsmail.enet.dec.com
  2237.  
  2238.  
  2239.  
  2240.  
  2241.           Perlman   (Internet-Draft expires end December 1993)   [Page 38]
  2242.  
  2243.           Internet-Draft       Routing over NBMA Links           June 1993
  2244.  
  2245.  
  2246.  
  2247.              Chris Gunner
  2248.              Digital Equipment Corp.
  2249.              550 King Street
  2250.              Littleton MA 01460-1289
  2251.              USA
  2252.  
  2253.              Phone:   (508) 486 7792
  2254.              Fax:     (508) 486 5279
  2255.              Email:   gunner@dsmail.enet.dec.com
  2256.  
  2257.  
  2258.  
  2259.  
  2260.  
  2261.  
  2262.  
  2263.  
  2264.  
  2265.  
  2266.  
  2267.  
  2268.  
  2269.  
  2270.  
  2271.  
  2272.  
  2273.  
  2274.  
  2275.  
  2276.  
  2277.  
  2278.  
  2279.  
  2280.  
  2281.  
  2282.  
  2283.  
  2284.  
  2285.  
  2286.  
  2287.  
  2288.  
  2289.  
  2290.  
  2291.  
  2292.  
  2293.  
  2294.  
  2295.  
  2296.  
  2297.  
  2298.  
  2299.  
  2300.           Perlman   (Internet-Draft expires end December 1993)   [Page 39]
  2301.